<?php

namespace app\model;

use think\Model;
use think\model\relation\BelongsTo;

class UserNotice extends Model
{
    /**
     * 关联的数据表。
     *
     * @var string
     */
    protected $table = 'user_notice';
    /**
     * 属性默认值。
     *
     * @var array<int, string>
     */
    protected $attribute = [
        'status' => 0,  // 短信码
        'title'  => '',  // 标题
        'content'  => '',  // 内容
        'user_id'  => 0,  // 用户ID
        'start_at'  => 0,  // 开始时间
        'end_at'  => 0,  // 结束时间
    ];
    /**
     * The attributes that are mass assignable.
     *
     * @var array<string>
     */
    protected $field = [
        'status',  // 短信码',
        'title', // 标题
        'content' ,  // 内容',
        'user_id', // 用户
        'start_at', // 开始时间
        'end_at', // 结束时间
    ];
    /**
     * The attributes that should be cast.
     *
     * @var array<string>
     */
    protected $type = [
        'start_at' => 'timestamp', // 开始时间
        'end_at' => 'timestamp', // 结束时间
        'create_at' => 'timestamp' // 创建时间
    ];
    // 定义全局的查询范围
    protected $globalScope = ['user'];
    // 查询范围
    public function scopeUser($query)
    {
        if(request()->subIn(['m', 'mini', 'mobile'])){
            $query->where('user_id', request()->uid);
        }
    }
    public function searchStatusAttr($query, $value, $data)
    {
        $value > 0 && $query->where('status', $value);
    }
}
